all: Parse

Parse.tab.c Parse.tab.h: Parse.y test.cpp dbms.h page.h table.h record.h str.h tablemanager.h
	bison -d Parse.y

lex.yy.c: Lexer.l Parse.tab.h
	flex -i Lexer.l

lex.yy.o: lex.yy.c Parse.tab.h main.h node.h
	g++ -c lex.yy.c -O2 -std=c++11

Parse.tab.o: Parse.tab.c main.h node.h
	g++ -c Parse.tab.c -std=c++11 -O2

Parse: lex.yy.o Parse.tab.o
	g++ lex.yy.o Parse.tab.o -g -o sql -O2 -std=c++11 -lfl

clean:
	rm lex.yy.c Parse.tab.c Parse.tab.h Parse.tab.o lex.yy.o
